package cn.iocoder.yudao.module.project.dal.dataobject.internalcode;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 内码信息 DO
 *
 * @author 芋道源码
 */
@TableName("yl_internal_code")
@KeySequence("yl_internal_code_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InternalCodeDO extends BaseDO {

    /**
     * 内码编号
     */
    @TableId(type = IdType.INPUT)
    private String id;
    /**
     * 内码名称
     */
    private String name;
    /**
     * 出库单号
     */
    private String exCode;
    /**
     * 订单编号
     */
    private String orderCode;
    /**
     * 订单详情id
     */
    private String orderDetailId;
    /**
     * 型号
     */
    private String type;
    /**
     * 物料编号
     */
    private String materialCode;
    /**
     * 所有箱码,用英文逗号分隔
     */
    private String cartonCodes;
    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 批次校验序号
     */
    private String batchCheckNumber;
    /**
     * 导入时间
     */
    private LocalDateTime operatingTime;
    /**
     * 操作员
     */
    private String operator;
    /**
     * 备注
     */
    private String remark;
    /**
     * 重量(g)
     */
    private Double weight;
    /**
     * 重量状态(0:正常:1过轻,2:过重))
     */
    private Integer weightStatus;
    /**
     * 刚性
     */
    private String rigidity;
    /**
     * 刚性状态(0:正常:1异常)
     */
    private Integer rigidityStatus;
    /**
     * 刚性测试时间
     */
    private LocalDateTime rigidityTime;
    /**
     * 平衡
     */
    private String balance;
    /**
     * 平衡状态(0:正常:1异常)
     */
    private Integer balanceStatus;
    /**
     * 平衡测试时间
     */
    private LocalDateTime balanceTime;
    /**
     * 二次平衡测试
     */
    private String balanceTwice;
    /**
     * 二次平衡测试时间
     */
    private LocalDateTime balanceTwiceTime;
    /**
     * 是否删除
     */
    private Boolean deleted;

    /**
     * 测试工位ID
     */
    private Integer testWorkstationId;

    /**
     * 二次平衡工位ID
     */
    private Integer balanceTwiceWorkstationId;

    /**
     * 测试工位用户ID
     */
    private Integer testWorkstationUserId;

    /**
     * 二次平衡工位用户ID
     */
    private Integer balanceTwiceWorkstationUserId;

    /**
     * 数据来源(空或1:默认,2:派工单)
     */
    private Integer dataSource;

    /**
     * 测试称重
     */
    private Double testWeight;

    /**
     * 二次平衡称重
     */
    private Double balanceTwiceWeight;
}
